home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2003 December / The Sunday Times - The Month 2003-12.iso / mac / The Month DEC 03 / engine / modules / preview_listen.swf_disabled / scripts / frame_1 / DoAction.as < prev   
Text File  |  2003-11-05  |  6KB  |  242 lines

  1. function addLink(mc)
  2. {
  3.    Links[mc.link] = mc;
  4. }
  5. function getMCfromLink(Item)
  6. {
  7.    if(Links[Item] == null)
  8.    {
  9.       var arr = [];
  10.       while(Item != sideMenu.ItemHome)
  11.       {
  12.          arr.unshift(Item._name.split("_").pop());
  13.          Item = Item._parent._parent;
  14.       }
  15.       var str = arr.join("/");
  16.       Links[Item] = Links[str];
  17.    }
  18.    return Links[Item];
  19. }
  20. function removeLinkListener()
  21. {
  22.    Tardis.sideMenu.EB.removeListener(this);
  23. }
  24. function init()
  25. {
  26.    var strID = Tardis.ActiveSection.id;
  27.    var Colors = Tardis.Colors;
  28.    strSECTION_COLOR = Colors.getString(strID);
  29.    SECTION_COLOR = Colors.getHex(strID);
  30.    strSECTION_COLOR50 = Colors.getString(strID + "50");
  31.    SECTION_COLOR50 = Colors.getHex(strID + "50");
  32.    DEFAULT_COLOR = Colors.getHex("default");
  33.    DEFAULT_COLOR50 = Colors.getString("default50");
  34.    if(nodeData.attributes.ignoremenu == "true")
  35.    {
  36.       trace("preview_listen -> ignoring link rollovers due to XML flag");
  37.       removeLinkListener();
  38.    }
  39.    ndItems = nodeData.byName("items");
  40.    loadFader();
  41.    ndDefault = nodeData.byName("default");
  42. }
  43. function loadFader()
  44. {
  45.    this.createEmptyMovieClip("mc_images",++depth);
  46.    mc_images.onReady = function()
  47.    {
  48.       this.onComplete = function()
  49.       {
  50.          delete this.onComplete;
  51.          this._parent.onComplete();
  52.       };
  53.       this.nodeData = this._parent.ndItems;
  54.       this.strPathPrefix = this._parent.strPathPrefix;
  55.       this.init();
  56.    };
  57.    mc_images.loadMovie(strPathPrefix + Tardis.ENGINE_FOLDER + "modules/preview_fader.swf");
  58.    textID = setInterval(checkHeight,50);
  59. }
  60. function checkHeight()
  61. {
  62.    if(mc_images._height > 10)
  63.    {
  64.       RESET_POS = mc_images._height + 7;
  65.       doOut();
  66.       clearInterval(textID);
  67.    }
  68. }
  69. function clearFader()
  70. {
  71.    removeMovieClip("mc_images");
  72.    loadFader();
  73.    mc_images.clearUp();
  74. }
  75. function exit()
  76. {
  77.    delete ndItems;
  78.    delete ndDefault;
  79.    delete nodeData;
  80. }
  81. function doOver(num)
  82. {
  83.    trace("preview_tall.doOver( " + num + " )");
  84.    if(!(num == undefined || num == null))
  85.    {
  86.       if(num == "default")
  87.       {
  88.          populateRollText(ndDefault);
  89.       }
  90.       else
  91.       {
  92.          var node = ndItems.childNodes[num];
  93.          populateRollText(node);
  94.          mc_images.doOver(num);
  95.       }
  96.    }
  97. }
  98. function doOut(num)
  99. {
  100.    trace("preview_tall.doOut( " + num + " )");
  101.    populateRollText(ndDefault);
  102.    if(num != "default")
  103.    {
  104.       mc_images.doOut(num);
  105.    }
  106. }
  107. function doPromoOver()
  108. {
  109.    promoMC.gotoAndStop("on");
  110. }
  111. function doPromoOut()
  112. {
  113.    promoMC.gotoAndStop("off");
  114. }
  115. function promoUp()
  116. {
  117.    Tardis.sideMenu.doPromoUp();
  118. }
  119. function promoOver()
  120. {
  121.    promoMC.gotoAndStop("on");
  122.    Tardis.sideMenu.doPromoOver();
  123. }
  124. function promoOut()
  125. {
  126.    promoMC.gotoAndStop("off");
  127.    Tardis.sideMenu.doPromoOut();
  128. }
  129. function populateRollText(node)
  130. {
  131.    var promo = false;
  132.    removeMovieClip("promoMC");
  133.    titleFF.htmlText = "";
  134.    title2FF.htmlText = "";
  135.    bodyFF.htmlText = "";
  136.    TEXT_POS = RESET_POS;
  137.    if(node.byName("title").getText() != null || node.byName("title2").getText() != null || node.byName("title3").getText() != null)
  138.    {
  139.       var strTitle = "<FONT COLOR=\"" + strSECTION_COLOR + "\">" + node.byName("title").getText() + " </FONT>";
  140.       strTitle += "<FONT COLOR=\"" + strSECTION_COLOR50 + "\"> " + node.byName("title2").getText() + "</FONT>";
  141.       strTitle += "<FONT COLOR=\"" + DEFAULT_COLOR50 + "\"> " + node.byName("title3").getText() + "</FONT>";
  142.       titleFF.htmlText = strTitle;
  143.       titleFF.resize();
  144.       titleFF._y = TEXT_POS;
  145.       TEXT_POS += titleFF._height - 6;
  146.    }
  147.    if(node.byName("byline").getText() != null)
  148.    {
  149.       title2FF.htmlText = node.byName("byline").getText();
  150.       title2FF.textColor = DEFAULT_COLOR;
  151.       title2FF.resize();
  152.       title2FF._y = TEXT_POS;
  153.       TEXT_POS += title2FF._height - 9;
  154.    }
  155.    if(node.byName("body").getText() != null)
  156.    {
  157.       bodyFF.htmlText = node.byName("body").getText();
  158.       bodyFF.textColor = DEFAULT_COLOR;
  159.       bodyFF.autosize = true;
  160.       bodyFF._y = TEXT_POS;
  161.    }
  162.    var ndPromo = node.byName("promotion");
  163.    if(ndPromo.byName("byline2").getText() != null)
  164.    {
  165.       attachMovie("promoMC2","promoMC",++depth);
  166.       promoMC._x = 9;
  167.       promoMC._y = 344;
  168.       promo = true;
  169.    }
  170.    else if(ndPromo.byName("title").getText() != null || ndPromo.byName("byline").getText() != null)
  171.    {
  172.       attachMovie("promoMC1","promoMC",++depth);
  173.       promoMC._x = 9;
  174.       promoMC._y = 359;
  175.       promo = true;
  176.    }
  177.    if(promo)
  178.    {
  179.       if(ndPromo.attributes.link != null)
  180.       {
  181.          PromoMC.link = ndPromo.attributes.link;
  182.          PromoMC.navLink = true;
  183.       }
  184.       else
  185.       {
  186.          PromoMC.link = ndPromo.byName("link").getText();
  187.       }
  188.       PromoMC.promotitleFF.htmlText = ndPromo.byName("title").getText();
  189.       PromoMC.promotitleFF.textColor = SECTION_COLOR50;
  190.       PromoMC.promotitleFF.autosize = true;
  191.       PromoMC.promobylineFF._x = PromoMC.promotitleFF._x + PromoMC.promotitleFF._width;
  192.       PromoMC.promobylineFF.htmlText = ndPromo.byName("byline").getText();
  193.       PromoMC.promobylineFF.textColor = SECTION_COLOR50;
  194.       PromoMC.promobylineFF.autosize = true;
  195.       if(ndPromo.byName("byline2").getText() != null)
  196.       {
  197.          PromoMC.promobyline2FF.htmlText = ndPromo.byName("byline2").getText();
  198.          PromoMC.promobyline2FF.textColor = DEFAULT_COLOR;
  199.       }
  200.       else
  201.       {
  202.          PromoMC.promobyline2FF._height = 0;
  203.       }
  204.       PromoMC.btn._width = PromoMC.promobylineFF._width + PromoMC.promotitleFF._width;
  205.       PromoMC.btn._height = PromoMC._height + PromoMC.promobyline2FF._height;
  206.    }
  207.    else
  208.    {
  209.       PromoMC.btn.enabled = false;
  210.    }
  211. }
  212. function txtOver(mc)
  213. {
  214.    Tardis.sideMenu.doOver(mc.link);
  215. }
  216. function txtOut(mc)
  217. {
  218.    Tardis.sideMenu.doOut(mc.link);
  219. }
  220. function txtUp(mc)
  221. {
  222.    if(mc.navLink)
  223.    {
  224.       Tardis.sideMenu.doUp(mc.link);
  225.    }
  226.    else
  227.    {
  228.       Tardis.webPageOpen(mc.link,"_blank");
  229.    }
  230. }
  231. Links = {};
  232. Tardis.sideMenu.EB.addListener(this);
  233. _parent.preview = this;
  234. depth = 0;
  235. this.onUnload = function()
  236. {
  237.    removeLinkListener();
  238.    clearInterval(intervalID);
  239.    this.onUnload = null;
  240. };
  241. var nmLastCover = -1;
  242.